| ||
|
| PROGRAMOWANIE | Kurs VB cz.X
Witam w dziesi▒tej ju┐ z kolei czΩ╢ci VBKurs'u. Poznali╢my ju┐ ╢rodowisko pracy w VB, podstawowe pojΩcia, to jakie opcje do jakich opcji nale┐▒, pΩtle, pisali╢my nawet jeden wielki program, kt≤rego pisania nie zako±czyli╢my, ale pom≤g│ on zrozumieµ nam pewne zagadnienia. Poznali╢my te┐ rejestr(chyba to wszystko jak na razie). Dodam, ┐e koniec zbli┐a siΩ wielkimi krokami, ale jeszcze parΩ czΩ╢ci bΩdzie. Dodam, ┐e w ko±cu ten kurs mia│ omawiaµ podstawy za kt≤re ju┐ trochΩ wykroczyli╢my, ale to nic!!!
W tej czΩ╢ci om≤wimy inny spos≤b zapisywania i odczytywania danych. Z pewno╢ci▒ lepszy i pewniejszy ni┐ rejestr. Pliki INI
Aby nasz odczyt pliku INI dzia│a│ musimy wpierw wykreowaµ modu│. Klikamy w eksploratorze projektu programu prawym klawiszem myszy, wybieramy new, p≤╝niej module. Zosta│ utworzony modu│. Do jego zawarto╢ci musimy wpisaµ nastΩpuj▒cy kod: Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As Any, ByVal lpFileName As String) As Long Function OdczytINI(Sekcja, Klucz, ªcie┐ka As String) As String Dim sRet As String sRet = String(255, Chr(0)) OdczytINI = Left(sRet, GetPrivateProfileString(Sekcja, ByVal Klucz, "", sRet, Len(sRet), ªcie┐ka)) End Function Function ZapisINI(zSekcja As String, zKlucz As String, zDane As String, zªcie┐ka) As Integer WritePrivateProfileString zSekcja, zKlucz, zDane, zªcie┐ka End Function W tym kodzie deklarujemy dwie funkcje dostΩpne w Windows, kt≤re umo┐liwiaj▒ nam na zarz▒dzanie plikami INI. P≤╝niej nastΩpne dwie funkcje, kt≤re s│u┐▒ nam do zapisu i odczytu w pliku. Gdy ju┐ to mamy zrobione musimy mieµ plik INI, kt≤rego brak podczas uruchomienia programu spowoduje b│▒d, wiΩc musimy utworzyµ taki plik w folderze projektu naszego programu. Plik ten powinien wygl▒daµ przyk│adowo: [imie] loadname=Filip [nazwisko] loadlastname=Cynarski Plik powinien nazywaµ siΩ program i mieµ rozszerzenie INI, czyli tak powinien on wygl▒daµ: program.ini . Je╢li ju┐ to zrobili╢my przenosimy siΩ do okna naszego programu i dodajemy dwie kontrolki TextBox. Pierwsz▒ kontrolkΩ nazywamy(wart. name) txtOdczyt, a drug▒ Text1. Dodajemy te┐ kontrolkΩ CommandButton, kt≤rej warto╢µ Caption ustawiamy na Zapisz. Teraz przechodzimy do okna kodu naszego projektu i wpisujemy nastΩpuj▒cy kod: Private Sub Command1_Click() ZapisINI "imie", "loadname", txtOdczyt.Text, sc + "program.ini" 'wykorzystanie funkcji zdefinionwanej w module o nazwie ZapisINI z podaniem odpowiedich informacji ZapisINI "nazwisko", "loadlastname", Text1.Text, sc + "program.ini" 'to samo. Nazwisko nazwa klucza, loadlastname nazwa sekcji, Text1.Text miejsce pobrania kt≤re ma zostaµ zapisane, sc + program.ini po│o┐enie pliku bazy danych txtOdczyt.Refresh 'od╢wie┐enie Text1.Refresh 'to samo End Sub Private Sub Form_Load() sc = App.Path + "\" 'przypo┐▒dkowanie zmiennej sc po│o┐enia programu txtOdczyt.Text = OdczytINI("imie", "loadname", sc + "program.ini") 'pdczyt przy u┐yciu funkcji z modu│u. Funkcja ma nazwΩ odczyt INI Text1.Text = OdczytINI("nazwisko", "loadlastname", sc + "program.ini") 'to samo End Sub W tym momencie mamy ju┐ gotowy program! Chcesz przyk│ad?! To go tu Masz! W takim wypadku Mo┐esz siΩ pokusiµ o rozszerzenie tego programu przyk│adowego, aby zapisywa│ wiΩcej danych i wiadomo╢ci. Jest to │atwe, a w szczeg≤lno╢ci dla Ciebie(o ile Uczy│e╢ siΩ z VBKurs'u) od pocz▒tku. Wystarczy tylko odpowiednio przeanalizowaµ kod i wyobraziµ sobie dzia│anie programu. Podpowied╝: Do tego celu Zmodyfikuj plik INI i u┐yj pΩtli. Jakiej?! To ju┐ Sam uznaj jaka bΩdzie najlepsza do tego celu. Je╢li Zrobi│e╢ ju┐ to! To Sku╢ siΩ przys│aµ mi swoje dzie│o. Mo┐e dostaniesz nagrodΩ?! W nastΩpnym numerze napiszemy program, kt≤ry bΩdzie trwa│ przez kilka numer≤w i on w│a╢nie uwie±czy nasz kurs! Pozdrawiam!!!
Autor:
|
|